import request from '@/utils/request'

// 查询工艺路线列表
export function listRoute(query) {
  // 由于后端使用startPage()方法获取分页参数，必须以固定方式传递
  // 若依后端的startPage()使用pageNum和pageSize作为参数名称
  const pageNum = parseInt(query.pageNum) || 1;
  const pageSize = parseInt(query.pageSize) || 10;
  
  console.log("API方法收到分页参数: pageNum=" + pageNum + ", pageSize=" + pageSize);
  
  // 构建API请求参数
  const params = { ...query };
  
  // 处理模糊搜索参数
  if (query.operational_name) {
    console.log("处理模糊搜索参数:", {
      operational_name: query.operational_name,
    });
  }
    
  if (query.operational_status !== undefined) {
    console.log("使用状态过滤:", query.operational_status);
    // 确保状态参数是整数
    params.operational_status = parseInt(query.operational_status);
  }
  if (query.operational_id) {
    console.log("处理模糊搜索参数:", {
      operational_id: query.operational_id,
    });
    }
  
  // 移除可能导致问题的参数
  delete params.pageNum;
  delete params.pageSize;
  
  console.log("API方法构建的请求参数:", JSON.stringify(params));
  
  // 使用若依框架的正确参数名称
  // 使用URL参数方式传递分页参数，避免与请求体冲突
  return request({
    url: '/ldzl-basic/bop/list1',
    method: 'post',
    // 必须添加params参数，而不是放在data中，因为startPage()会从params中获取分页信息
    params: {
      pageNum: pageNum,
      pageSize: pageSize
    },
    // 业务数据保持在body中
    data: params
  }).then(response => {
    console.log("API返回的原始数据:", response);
    // 处理返回的数据
    if (response && response.rows) {
      response.rows = response.rows.map(item => {
        // 确保字段都有有效的值
        if (!item.remarks && item.operational_description) {
          item.remarks = item.operational_description;
        }
        return item;
      });
    }
    return response;
  });
}

// 查询工艺路线详细
export function getRoute(id) {
  return request({
    url: '/ldzl-basic/bop/' + id,
    method: 'get'
  });
}

// 新增工艺路线
export function addRoute(data) {
  return request({
    url: '/ldzl-basic/bop',
    method: 'post',
    data: data
  });
}

// 修改工艺路线
export function updateRoute(data) {
  return request({
    url: '/ldzl-basic/bop',
    method: 'put',
    data: data
  });
}

// 删除工艺路线
export function delRoute(id) {
  return request({
    url: '/ldzl-basic/bop/dp/' + id,
    method: 'put'
  });
}

// 导出工艺路线
export function exportRoute(query) {
  return request({
    url: '/ldzl-basic/bop/export',
    method: 'get',
    params: query
  });
}



//批量删除
export function delRoutes(ids) {
  return request({
    url: '/ldzl-basic/bop/batch/' + ids,
    method: 'put'
  });
}

// 查询BOM列表
export function listBomdetailsVoByOperationalIdIsNull(query) {
  // 确保query参数存在
  const safeQuery = query || {};
  
  // 由于后端使用startPage()方法获取分页参数，必须以固定方式传递
  // 若依后端的startPage()使用pageNum和pageSize作为参数名称
  const pageNum = parseInt(safeQuery.pageNum) || 1;
  const pageSize = parseInt(safeQuery.pageSize) || 10;
  
  console.log("API方法收到分页参数: pageNum=" + pageNum + ", pageSize=" + pageSize);
  
  // 构建API请求参数
  const params = { ...safeQuery };
  
  
  
  
  
  // 移除可能导致问题的参数
  delete params.pageNum;
  delete params.pageSize;
  
  console.log("API方法构建的请求参数:", JSON.stringify(params));
  
  // 使用若依框架的正确参数名称
  // 使用URL参数方式传递分页参数，避免与请求体冲突
  return request({
    url: '/ldzl-basic/bmd/pro',
    method: 'post',
    // 必须添加params参数，而不是放在data中，因为startPage()会从params中获取分页信息
    params: {
      pageNum: pageNum,
      pageSize: pageSize
    },
    // 业务数据保持在body中
    data: params
  })
}

//查询工序列表不分页
export function listpro(query) {
  return request({
    url: '/ldzl-basic/process/listpor', 
    method: 'post',
    data: query
  });
}

//根据工艺路线id查询详情信息
export function listopdetails(id) {
  return request({
    url: '/ldzl-basic/bop/details/'+id, 
    method: 'get'
  });
}

//根据工艺路线id查询工艺路线信息
export function listop1(id) {
  return request({
    url: '/ldzl-basic/bop/'+id, 
    method: 'get'
  });
}

//根据工艺路线id查询工序
export function listop2(id) {
  return request({
    url: '/ldzl-basic/bop/details1/'+id, 
    method: 'get'
  });
}

//根据工艺路线id查询产品信息
export function listop3(id) {
  return request({
    url: '/ldzl-basic/bop/details2/'+id, 
    method: 'get'
  });
}